#include <iostream>
#include <vector>
#include <ginac/ginac.h>
#include "sector_decomposition/sector_decomposition.h"

int main()
{
//  using namespace GiNaC;
//  using namespace sector_decomposition;
//
//  CHOICE_STRATEGY = STRATEGY_X;
//
//  symbol eps("eps");
//  symbol s("s"), t("t");
//  symbol x1("x1"), x2("x2"), x3("x3"), x4("x4"), x5("x5"), x6("x6"), x7("x7");
//  const ex x[] = { x1,x2,x3,x4,x5,x6,x7 };
//
//  std::vector<ex> parameters(7);
//  for (int i=0; i<7; i++) parameters[i]=x[i];
//                                              y
//  ex U = (x1+x2+x3)*(x5+x6+x7) + x4*(x1+x2+x3+x5+x6+x7);
//  ex F = (x2*x3*(x4+x5+x6+x7)+x5*x6*(x1+x2+x3+x4)+x2*x4*x6+x3*x4*x5)*(-s)
//    +x1*x4*x7*(-t);
//
//  F = F.subs(lst( s == -1 , t == -1 ));
//
//  std::vector<ex> poly_list(2);
//  poly_list[0] = U;
//  poly_list[1] = F;
//
//  std::vector<exponent> c(2);
//  c[0] = exponent( 1, 3 );
//  c[1] = exponent( -3, -2 );
//
//  integrand my_integrand(7, poly_list, c);
//
//  monte_carlo_parameters mc_parameters( 5, 15, 10000, 100000 );
//
//       std::cout << "\n\nvalues_strings=list()\nsector_strings=list()\neps=list()\n\n";
//  for (int order=-4; order<=0; order++)
//    {
//     std::cout << "\n\n\neps.append(" << order << ")\n";
//      integration_data global_data(parameters, eps, order);
//
//      monte_carlo_result res =
//        do_sector_decomposition(global_data, my_integrand, mc_parameters);
//
//    }

  return 0;
}
